写在前面
有很多可能对学习工作有帮助的书籍,完成了对书籍内容有了初步了解后,受限于时间和成效比等因素,暂时不能完整阅读或者不足以记录在读书笔记中,于是单独开一栏,存放此类书籍,以及对于此类书籍的初步印象,以供后续使用。
《重构》(第二版)
一本久负盛名书籍,这几日按照书中的建议阅读前几章。
对我来说,这本书使用javascript做示例,确实有很多实用的技巧,但是更多的技巧基于OOP机制,我对此并不是很熟悉。第二个障碍是,对js本身不熟悉。不是不能阅读,但是很多的内容都缺乏阅读动力。等我饱受代码质量下降之苦后,才是合适的阅读的时机。总的来说,不如《代码大全》
当前留下主要的印象是:构建测试体系,函数提取模块化功能两点。
《卓有成效的工程师》
和《重构》一样,属于软实力书籍,不过这本书从代码中脱离,涉及到个人成长,团队发展等。
第一部分 树立正确态度
这部分关于个人成长的一些建议,对于当前作用较大,特此记录
1. 聚焦高杠杆率的工作
杠杆率 = 产生的影响 / 投入的时间
时间是有限的,要更高效的完成事情,专注于时间投资回报率最高的工作。
提高杠杆率的三种方式: (P7)
- 减少完成某项工作所需的时间
- 增加该项工作的产出
- 转向杠杆率更高的工作
专注于杠杆点,而非易于完成的工作。
2. 精益求精,优化学习方式
保持成长型思维。
提升学习速率,一点点的提升都会产生巨大的复利效应。
越早提高学习速率,就能有越长的时间去产生复利。
积极面对具有挑战性的工作。
寻求利于学习的工作环境
- 快速增长
- 培训,良好的入门培训
- 开放
- 节奏,快速反馈迭代
- 人员,与比自己更优秀的人一起工作
- 自治,自驱学习
将时间投入到培养新技能的任务上
谷歌20%时间 和 相邻学科
十条建议:
- 学习最优秀工程师编写的核心抽象代码
- 编写更多代码
- 研读内部可获取的任何技术和学习资料
- 掌握你所使用的编程语言(至少一门脚本语言)
- 请最严格的人审查你的代码
- 参加专业技能培训课程
- 主动参加感兴趣项目的设计讨论,不要被动等待
- 在不同类型的项目上工作
- 确保团队中有比你更资深、可请教的工程师
- 用于学习自己不熟悉的代码
持续学习
- 学习新的编程语言及开发框架
- 学习市场需求旺盛的技能
- 阅读
- 加入讨论小组
- 参加讲座、行业会议和线下聚会
- 建立并维护一个强大的人际关系网
- 关注那些传授技能的博客
- 为教学而写作
- 拓展兴趣项目,特别是工作专业之外的兴趣
- 培养业余爱好
3. 定期调整优先级
定期调整优先级是一项高杠杆率工作,因为它决定了你剩余时间的杠杆率。
简单易用的待办事项清单
写下代办事项,并及时回顾
关注直接创造价值的工作
关注重要但不紧急的工作
提高可以提升效率的长期投资优先级
尽量在日程中保留较大的专注时间块,限制同时进行的任务数量
减少上下文切换
用如果…就…对抗拖延症
如果在下一个工作前有20分钟的空闲时间,我就去做……
培养调整优先级的习惯
剩余在加入团队工作或者有空之后再做阅读记录。
《C++ Primer》
之前已经熟练使用C,入门了Rust,初步入门了C++(黑马程序员的一套课程,对其基础语法概念有所了解),但是深觉不足以用于实用,总有一日需要回头找补。
《代码大全》第2版
对于开发者来说,是一本神书。只要参与过较大规模代码量项目的人,都能从这本书中不断收获建设性的建议。
我按需读过几章,深以为然。由于太过大部头,之后仍是按需阅读章节。